package com.me.study.jdk8.methodReferences;

/**
 * JDK1.8 新特性：方法引用测试类   <p></p>
 * <ul>
 *      <li>
 *          通过对象名引用成员方法:    <p>
 *              person::getAge 表示 person.getAge()
 *      </li>
 *      <li>
 *          通过类名引用静态方法:    <p>
 *              Integer::compare 表示 Integer.compare(1, 2)
 *      </li>
 *      <li>
 *          引用第一个参数实例的实例方法, 通过类名引用实例方法:   <p>
 *              String::compareTo 表示 (str1, str2) -> str1.compareTo(str2)
 *      </li>
 *      <li>
 *          通过 super引用父类的成员方法:  <p>
 *              super::hello 表示 super.hello()
 *      </li>
 *      <li>
 *          通过 this引用成员方法:  <p>
 *              this::buyCar 表示 this.buyCar()
 *      </li>
 *      <li>
 *          引用类的构造器:    <p>
 *              Person::new 表示 `new Person()`
 *      </li>
 *      <li>
 *          引用数组的构造器:   <p>
 *              String[]::new 表示 `new String[]`
 *      </li>
 * </ul>
 *
 * @author ME
 * @date   2019/6/1
 */
public class MethodReference {

    public void getPrintStr(String content, String name) {
        System.out.println("Reference: " + content + ", " + name);
    }

    public int doMyCompare(String str1, String str2) {
        return str1.compareTo(str2);
    }
}
